package AggregationMethod;

import java.util.ArrayList;

import Definitions.NodeClass;
import Global.ConstantVariable;
import Sampling.SamplingAbstractClass;

/*****************************************************************
* Name : Sum = count Method
* Aim : This class aims to keep the methods for the Sum Neighborhood Calculation Function type and inherited from the NeighbourhoodFunction *
* Algorithms: 1 2 3 0 5 
*****************************************************************/
public class SumMethodClass extends NeighbourhoodFunctionAbstractClass
{
	SumMethodClass(SamplingAbstractClass currentSampling){
		super(currentSampling);
		name= ConstantVariable.AggregationMethod_ConstantVariables.SUM; 
	}
	
	/*****************************************************************
	* Function Name: 	sum = countEdge
	* Aim: 				perform the sum = countEdge
	* Inputs: 			ArrayList<Node> node : The neighbors that will be used for the method
	* 					int usePredictOrActual : Predicted Classes or actual classes will be used 
	* 											when choosing neighbors
	* Outputs: 			sumList
	* Data Structures:  ---
	* Algorithms: 		---
	*****************************************************************/
	public ArrayList<Double> getAggregatedNeighbourVector(ArrayList<NodeClass> nodeList)
	{		
		return(countEdge(nodeList));
	}

	public ArrayList<Double> getAggregatedNeighbourVector(ArrayList<NodeClass> nodeList,int degree)
	{

		return(countEdge(nodeList, degree));
	}
}
